In manufacturing and assembly processes, it is often desirable to analyze an object surface to determine the nature of features and/or irregularities. The displacement (or “profile”) of the object surface can be determined using a machine vision system (also termed herein “vision system”) in the form of a laser displacement sensor (also termed a laser beam “profiler”). A laser displacement sensor captures and determines the (three dimensional) profile of a scanned object surface using a planar curtain or “fan” of a laser beam at a particular plane transverse to the beam propagation path. In a conventional arrangement, a vision system camera assembly is oriented to view the plane of the beam from outside the plane. This arrangement captures the profile of the projected line (e.g. extending along the physical x-axis) on the object surface, which, due to the baseline (i.e. the relative spacing along the y-axis) between the beam (sometimes characterized as a “fan”) plane and the camera causes the imaged line to appear as varying in the image y axis direction as a function of the physical z-axis height of the imaged point (along the image x axis). This deviation represents the profile of the surface. Laser displacement sensors are useful in a wide range of inspection and manufacturing operations where the user desires to measure and characterize surface details of a scanned object via triangulation. One form of laser displacement sensor uses a vision system camera having a lens assembly and image sensor (or “imager”) that can be based upon a CCD or CMOS design. The imager defines a predetermined field of grayscale or color-sensing pixels on an image plane that receives focused light from an imaged scene through a lens.
In a typical arrangement, the displacement sensor(s) and/or object are in relative motion (usually in the physical y-coordinate direction) so that the object surface is scanned by the sensor(s), and a sequence of images are acquired of the laser line at desired spatial intervals—typically in association with an encoder or other motion measurement device (or, alternatively, at time based intervals). Each of these single profile lines is typically derived from a single acquired image. These lines collectively describe the surface of the imaged object and surrounding imaged scene and define a “range image” or “depth image”.
Other camera assemblies can also be employed to capture a 3D image (range image) of an object in a scene. The term range image is used to characterize an image (a two-dimensional array of values) with pel values characterizing Z height at each location, or characterizing that no height is available at that location. The term range image is alternatively used to refer to generic 3D data, such as 3D point cloud data, or 3D mesh data. The term range and gray image is used to characterize an image with pel values characterizing both Z height and associated gray level at each location, or characterizing that no height is available at that location, or alternatively a range and gray image can be characterized by two corresponding images—one image characterizing Z height at each location, or characterizing that no Z height is available at that location, and one image characterizing associated gray level at each location, or characterizing that no gray level is available at that location. The term range image is alternatively used to refer to range and gray image, or 3D point cloud data and associated gray level data, or 3D mesh data and associated gray level data. For example, structured light systems, stereo vision systems, DLP metrology, and other arrangements can be employed. These systems all generate an image that provides a height value (e.g. z-coordinate) to pixels.
A 3D range image generated by various types of camera assemblies (or combinations thereof) can be used to locate and determine the presence and/or characteristics of particular features on the object surface. In certain vision system implementations, such as the inspection of circuit boards, a plurality of displacement sensors (e.g. laser profilers) are mounted together to extend the overall field of view (FOV) (wherein the term “field of view” refers to measurement range) of the vision system so as to fully image a desired area of the object (e.g. its full width) with sufficient resolution. In the example of a laser profiler, the object moves in relative motion with respect to the camera(s) so as to provide a scanning function that allows construction of a range (or, more generally a “3D”) image from a sequence of slices acquired at various motion positions. This is often implemented using a conveyor, motion stage, robot end effector or other motion conveyance. This motion can be the basis of a common (motion) coordinate space with the y-axis defined along the direction of “scan” motion.
It is often highly challenging to calibrate all sensors to a common coordinate space so as to provide a continuous FOV for use in imaging a runtime object of a given width (along the x-axis). Such calibration can entail the use of precisely dimensioned and aligned calibration objects (e.g. a series of rigidly attached frusta) that are respectively imaged by each of the displacement sensors. The setup also requires a skilled operator to perform a series of specific steps to complete the process correctly. This often limits the use of such an arrangement of sensors to users who have access to a skilled operator. More generally, such an arrangement is time-consuming to set up and maintain based upon the challenges presented by calibrating the displacement sensors to a common coordinate space.